package com.zzx.business.domain;

import java.math.BigDecimal;
import com.zzx.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zzx.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * 标准图书对象 tb_book
 *
 * @author Zzx
 * @date 2025-05-30
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class TbBook extends BaseEntity {

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 书号
     */
    @Excel(name = "书号")
    private String no;

    /**
     * 备案号
     */
    @Excel(name = "备案号")
    private String record;

    /**
     * 标准号
     */
    @Excel(name = "标准号")
    private String identifier;

    /**
     * 标准编号
     */
    @Excel(name = "标准编号")
    private String identifierNo;

    /**
     * 标准年代号
     */
    @Excel(name = "标准年代号")
    private String yearNumber;

    /**
     * 标准名称
     */
    @Excel(name = "标准名称")
    private String name;

    /**
     * 英文名称
     */
    @Excel(name = "英文名称")
    private String enName;

    /**
     * 标准状态
     */
    @Excel(name = "标准状态")
    private String status;

    /**
     * 标准类型
     */
    @Excel(name = "标准类型")
    private String bookclass;

    /**
     * 标准属性
     */
    @Excel(name = "标准属性")
    private String type;

    /**
     * 推荐性/强制性
     */
    @Excel(name = "推荐性/强制性")
    private String nature;

    /**
     * 标准代号
     */
    @Excel(name = "标准代号")
    private String preNo;

    /**
     * UDC号
     */
    @Excel(name = "UDC号")
    private String udcNo;

    /**
     * 定价
     */
    @Excel(name = "定价")
    private BigDecimal price;

    /**
     * 封面
     */
    @Excel(name = "封面")
    private String photo;

    /**
     * 有无PDF文件
     */
    @Excel(name = "有无PDF文件")
    private String havepdf;

    /**
     * 源文件
     */
    @Excel(name = "源文件")
    private String file;

    /**
     * 简介
     */
    @Excel(name = "简介")
    private String brief;

    /**
     * 范围
     */
    @Excel(name = "范围")
    private String ownerdept;

    /**
     * 提出单位
     */
    @Excel(name = "提出单位")
    private String propOrg;

    /**
     * 发布单位
     */
    @Excel(name = "发布单位")
    private String releaseOrg;

    /**
     * 主管单位
     */
    @Excel(name = "主管单位")
    private String nuitOrg;

    /**
     * 归口单位
     */
    @Excel(name = "归口单位")
    private String underOrg;

    /**
     * 执行单位
     */
    @Excel(name = "执行单位")
    private String executeOrg;

    /**
     * 出版单位
     */
    @Excel(name = "出版单位")
    private String publishOrg;

    /**
     * 起草单位
     */
    @Excel(name = "起草单位")
    private String draftOrg;

    /**
     * 起草人
     */
    @Excel(name = "起草人")
    private String drafter;

    /**
     * 发布日期/修订日期
     */
    @Excel(name = "发布日期/修订日期")
    private String releaseDate;

    /**
     * 公告日期
     */
    @Excel(name = "公告日期")
    private String declareDate;

    /**
     * 实施日期
     */
    @Excel(name = "实施日期")
    private String executeDate;

    /**
     * 作废日期
     */
    @Excel(name = "作废日期")
    private String invalidDate;

    /**
     * 出版日期
     */
    @Excel(name = "出版日期")
    private String publishDate;

    /**
     * 电子版出版日期
     */
    @Excel(name = "电子版出版日期")
    private String publishDatePdf;

    /**
     * 出版语言
     */
    @Excel(name = "出版语言")
    private String language;

    /**
     * 代替标准
     */
    @Excel(name = "代替标准")
    private String replace;

    /**
     * 被代替标准
     */
    @Excel(name = "被代替标准")
    private String replaceBe;

    /**
     * 引用标准
     */
    @Excel(name = "引用标准")
    private String referstand;

    /**
     * 修订单信息
     */
    @Excel(name = "修订单信息")
    private String modify;

    /**
     * 采标信息：标号、名称、程度
     */
    @Excel(name = "采标信息：标号、名称、程度")
    private String adopt;

    /**
     * 出版信息：总页数，开本，彩页数，有彩色图片，印张，版次，字数
     */
    @Excel(name = "出版信息：总页数，开本，彩页数，有彩色图片，印张，版次，字数")
    private String publishInfo;

    /**
     * 读者对象
     */
    @Excel(name = "读者对象")
    private String reader;

    /**
     * ICS分类号
     */
    @Excel(name = "ICS分类号")
    private String bookIcs;

    /**
     * 中标分类号
     */
    @Excel(name = "中标分类号")
    private String bookCcs;

    /**
     * 来源
     */
    @Excel(name = "来源")
    private String from;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 数据状态 1-正常 2-删除
     */
    @TableField(fill = FieldFill.INSERT)
    private Long deleteStatus;

}
